package com.shop.dao.impl;

import com.shop.bean.Admin;
import com.shop.dao.AdminDao;
import com.shop.dao.BaseDao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.BitSet;

/**
 * @Author:zyn
 * @Date:2025/9/19--11:58:26
 */
public class AdminDaoImpl implements AdminDao {

    @Override
    public Admin selectAdmin(String account, String password) {
        Connection con=null;
        PreparedStatement ps=null;
        ResultSet res=null;
        Admin admin=null;
        String sql="SELECT * FROM admin WHERE account = ? AND password = ?";
        try {
            con= BaseDao.getCon();
            ps=con.prepareStatement(sql);
            ps.setString(1,account);
            ps.setString(2,password);
            res=ps.executeQuery();
            if(res.next()){
                admin=new Admin();
                admin.setAdminId(res.getInt("adminId"));
                admin.setAccount(res.getString("account"));
                admin.setPassword(res.getString("password"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            BaseDao.closeAll(res,ps,con);
        }
        return admin;
    }

    @Override
    public Admin selectAdminByAccount(String account) {
        Connection con=null;
        PreparedStatement ps=null;
        ResultSet res=null;
        Admin admin=null;
        String sql="SELECT * FROM admin WHERE account = ?";
        try {
            con= BaseDao.getCon();
            ps=con.prepareStatement(sql);
            ps.setString(1,account);
            res=ps.executeQuery();
            if(res.next()){
                admin=new Admin();
                admin.setAdminId(res.getInt("adminId"));
                admin.setAccount(res.getString("account"));
                admin.setPassword(res.getString("password"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            BaseDao.closeAll(res,ps,con);
        }
        return admin;
    }
}
